import Book.BookList;
import User.AdminUser;
import User.NormalUser;
import User.User;

import java.util.Scanner;
public class Main {
    //9. 进行登录
    //静态方法，返回的是一个对象的引用，发生了向上转型
    public static User login(){
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入姓名");
        String name = scanner.nextLine();
        System.out.println("请输入你的身份：1-》管理员 0-》普通用户");
        int choice = scanner.nextInt();
        if(choice == 1){
            //返回对象
            return new AdminUser(name);
        }else{
            return new NormalUser(name);
        }
    }

    public static void main(String[] args) {
        BookList bookList = new BookList();
        //Java中可以直接调用类中静态方法，不用实例化
        //调用login方法，返回对象
        User user = login();
        //死循环调用菜单
        while(true){
            //运行时绑定：发生向上转型 父类和子类有同名的构造方法
            int choice = user.menu();
            //根据菜单的选项来调用合适的方法。
            user.doOperation(choice,bookList);
        }
    }
}
